数据结构 7 基础排序算法详解 鸡尾酒排序法、了解钟摆排序实现 您所在的位置:网站首页 pa280g2cs-4mul 参数 数据结构 7 基础排序算法详解 鸡尾酒排序法、了解钟摆排序实现

数据结构 7 基础排序算法详解 鸡尾酒排序法、了解钟摆排序实现

2023-03-28 00:41| 来源: 网络整理| 查看: 265

前言

上节,我们已经通过对冒泡算法的优化、能够达到我们预想的结果。比较次数的减少、本节将继续在冒泡排序的基础上进行优化、能够达到刚好的效果。

鸡尾酒排序 ?

为什么叫鸡尾酒排序呢?可能这个名字起得比较特殊。它是基于冒泡排序做了一些小小的改动。也叫做快乐钟摆排序 现在,大家的脑子里肯定会想到一个古老的钟摆。。。。。

左摇一下、右摇一下、重复不止

现在请记住这个场景。我们来学习一下这个鸡尾酒排序为何方神圣!

冒泡排序特点

从左往右、依次循环比较、一遍将一个大元素推到最右侧。

鸡尾酒排序特点 将原有的单向改为 双向比较 每次循环则将最小元素和最大元素分别推至左右两侧 画图理解

准备一个数组 [49, 38, 65, 97, 76, 13, 27, 49]

image.png

钟摆循环1开始 从右至左

1、本次比较27 leftBorder; g--) { if (array[g] < array[g - 1]) { temp = array[g]; array[g] = array[g-1]; array[g-1] = temp; isChange = false; //记录左边界 leftChangeIndex = g; } allChange++; } leftBorder = leftChangeIndex; if (isChange) break; } System.out.println(Arrays.toString(array)); System.out.println("总体比较次数:"+allChange); } -------------- [13, 27, 38, 49, 49, 65, 76, 97] 总体比较次数:27 小结

至此我们已经学习了有关的三个排序方式、包括最基础的冒泡排序、优化冒泡排序。最终的冒泡排序。通过钟摆思想实现的鸡尾酒排序法。越来觉得一个小小的排序,通过学习后发现,竟然有很多有意思的地方。

参考

http://mp.weixin.qq.com/s/CoVZrvis6BnxBQgQrdc5kA

但行好事,相信技术,转载请注明出处


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有